var callback_;
var res_buttons_;
var res_method_;
function dynamic_button_(datas){
	var column_ =new Array();
	var count =0;
	if(datas!=null){
		for(var i=0;i<res_buttons_.length;i++){
			if(datas[res_buttons_[i]]){
				column_[count]={iconCls:initIconCls(res_method_[res_buttons_[i]]['iconCls']),text:initText(res_method_[res_buttons_[i]]['text'],res_buttons_[i]),handler:initFunction(res_method_[res_buttons_[i]]['method'])};
				count++;
			}
		}
		callback_(column_);
	}
}
/**
 * 页面权限控制buttons的显示与隐藏
 * @param appCd  应用系统标识
 * @param mRes 菜单资源标识（hashcode)
 * @param buttons
 * @param method
 * @param callback
 */
function setbuttons(appCd,mRes,buttons,method,callback){
	callback_ = callback;
	res_buttons_ = buttons;
	res_method_ = method;
	var url = getfunctionrightbymenu_+"?appCd="+appCd+"&mRes="+mRes;
	   $.ajax({
	        type:'get',
		        url:url+"&jsoncallback=dynamic_button_",
		        dataType:'jsonp',
	        jsonp:"dynamic_button_",
		        async: false,
	        success:function(data){
		    }
	});
}
/**
 * 初始化按钮的图片（如果没有数据者不显示图片（
 * @param val
 * @returns
 */
function initIconCls(val){
	if(typeof val=="undefined"){
		return "";
	}
	if(typeof val==""){
		return "icon-add";
	}else {
		return val;
	}
}
/**
 * 初始化按钮的描述 如果没有则不显示
 * @param val
 * @param title
 * @returns
 */
function initText(val,title){
	if(typeof val=="undefined"){
		return title;
	}
	if(typeof val==""){
		return title;
	}else {
		return val;
	}
}
/**
 * 初始化点击事件 方法
 * @param val
 * @returns
 */
function initFunction(val){
	if(typeof val=="undefined"){
		return null;
	}
	if(typeof val==""){
		return "";
	}else{
		return val;
	}
}

$.extend($.fn.datagrid.methods, {
    addToolbarItem: function(jq, items){
        return jq.each(function(){ 
            var toolbar = $(this).parent().prev("div.datagrid-toolbar");
            for(var i = 0;i<items.length;i++){
                var item = items[i];
                if(item === "-"){
                    toolbar.append('<div class="datagrid-btn-separator"></div>');
                }else{
                    var btn=$("<a href=\"javascript:void(0)\"></a>");
                    btn[0].onclick=eval(item.handler||function(){});
                    btn.css("float","left").appendTo(toolbar).linkbutton($.extend({},item,{plain:true}));
                }
            }
            toolbar = null;
        }); 
    },
    removeToolbarItem: function(jq, param){ 
        return jq.each(function(){ 
            var btns = $(this).parent().prev("div.datagrid-toolbar").children("a");
            var cbtn = null;
            if(typeof param == "number"){
                cbtn = btns.eq(param);
            }else if(typeof param == "string"){
                var text = null;
                btns.each(function(){
                    text = $(this).data().linkbutton.options.text;
                    if(text == param){
                        cbtn = $(this);
                        text = null;
                        return;
                    }
                });
            }
            if(cbtn){
                var prev = cbtn.prev()[0];
                var next = cbtn.next()[0];
                if(prev && next && prev.nodeName == "DIV" && prev.nodeName == next.nodeName){
                    $(prev).remove();
                }else if(next && next.nodeName == "DIV"){
                    $(next).remove();
                }else if(prev && prev.nodeName == "DIV"){
                    $(prev).remove();
                }
                cbtn.remove(); 
                cbtn= null;
            }                      
        }); 
    }              
});
$.extend($.fn.treegrid.methods,{
    resize_: function(jq, _918){
        return jq.each(function(){
    		var opts = $.data(this, "treegrid").options;
    		var _3cf = $.data(this, "treegrid").panel;
    		if (_918) {
    			if (_918.width) {
    				opts.width = _918.width;
    			}
    			if (_918.height) {
    				opts.height = _918.height;
    			}
    		}
    		if (opts.fit == true) {
    			var p = _3cf.panel("panel").parent();
    			opts.width = p.width();
    			opts.height = p.height();
    		}
    		_3cf.panel("resize", {
    			width : opts.width,
    			height : opts.height
    		});
        }); 
    }
});
